const fs = require('fs');  // 文件系统模块
const path = require('path');  // 路径功能模块
// 导入 express 创建路由
const router = require('express').Router();
const upload = require('../../common/upload');
const host_cig = '../../host_cig.js';
const host_url = host_cig.url;

// http://localhost:3000/api/photo/preview
// 预览图片
// 上传图片 (头像/封面图片)
// 方式：POST
// URL: /api/photo/preview
// 参数： photo
router.post('/preview', upload.single('photo'), async (req, res) => {
    let file = req.file;
    if (file == undefined) { res.send({ code: -1, msg: '上传图片失败。' }) }
    else {
        // 定义图片路径 
        // http://localhost:3000/upload/images/1.jpg
        let picUrl = `${host_url}/upload/images/${file.filename}`;
        // 反馈图片上传信息
        if (picUrl) {
            let id = Math.random().toString().slice(2);
            res.send({ code: 200, msg: '上传图片成功。', picUrl, id });
        }
        else {
            res.send({ code: -1, msg: '上传图片失败。' });
        }
    }
})

// http://localhost:3000/api/photo/remove
// 删除图片
// URL: /api/photo/remove
// 方式：POST
// 参数：picUrl (图片的路径) dirName
router.post('/remove', async (req, res) => {
    // 相对地址 http://
    let picUrl = req.body.picUrl;
    let dirName = req.body.dirName || 'upload';
    // console.log('1.0',picUrl)
    if (picUrl == undefined || picUrl == '') {
        res.send({ code: -1, msg: '缺少参数' })
        return;
    }
    //通过slice方法，分割出图片前面的url地址
    let index = picUrl.indexOf(dirName);
    // 判断该图片路径是否存在
    if (index > -1) {
        // 拼接图片路径 (查找图片)
        let temp_path = path.join(__dirname, '../../public/', picUrl.slice(index));
        console.log('2.0', temp_path);
        // fs.unlink 删除文件
        fs.unlink(temp_path, (err) => {
            // err 如果为null 就删除图片成功 ； 否则删除失败
            if (err) {
                res.send({ code: -1, msg: '删除图片失败。' })
            }
            else {
                //删除图片文件成功
                res.send({ code: 200, msg: '删除图片成功。' })
            }
        })
    }
    else {
        res.send({ code: 404, msg: '该路径找不到图片资源。' })
    }
})



// 把当前路由挂载到系统对象上
module.exports = router;